package com.xt.core.data;


import java.io.Serializable;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * This class represents the BaseObject in the application 
 * 
 * @author Author: txiao
 * @version Revision: 1.0, Date: 21.09.2009
 * 
 */
public abstract class BasicObject implements Serializable{

	private static final long serialVersionUID = 7729722101043426618L;
	protected final Logger log = LoggerFactory.getLogger(getClass());
	
	 /**
     * Returns a multi-line String with key=value pairs.
     * @return a String representation of this class.
     */
    public abstract String toString();

    /**
     * Compares object equality. When using Hibernate, the primary key should
     * not be a part of this comparison.
     * @param o object to compare to
     * @return true/false based on equality tests
     */
    public abstract boolean equals(Object o);

    /**
     * When you override equals, you should override hashCode. See "Why are
     * equals() and hashCode() importation" for more information:
     * http://www.hibernate.org/109.html
     * @return hashCode
     */
    public abstract int hashCode();
    
    /*
     * Add your function here
     */
}
